use std::{fs, path::Path};

pub fn delete_file_if_exists(path: &Path) -> Result<u64, std::io::Error> {
    // 定义文件大小
    let mut file_size: u64 = 0;
    // 如果存咋
    if path.exists() && path.is_file() {
        // 尝试获取文件元数据
        if let Ok(metadata) = fs::metadata(path) {
            // 如果成功则将大小信息赋值给file_size
            file_size = metadata.len();
        }
        // 尝试删除文件
        match fs::remove_file(path) {
            // 如果成功,这里的Ok(..)也可以写成Ok(_)表示没有任何参数
            Ok(_) => {
                println!("文件已被删除");
            }
            // 如果删除出现异常
            Err(e) => {
                println!("删除文件时出错: {}", e);
                return Err(e);
            }
        }
    }
    // 这里的return可以不写
    return Ok(file_size);
}
